home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / c / gnulib / sun4.md / _builtin_New.s < prev    next >
Text File  |  1990-03-06  |  2KB  |  80 lines

  1.         .seg    "text"                  ! [internal]
  2.         .proc   66
  3.         .global ___builtin_vec_new
  4. ___builtin_vec_new:
  5. !#PROLOGUE# 0
  6. !#PROLOGUE# 1
  7.         save    %sp,-96,%sp
  8.         tst     %i0
  9.         bne     L77003
  10.         add     %i1,1,%i5
  11.         mov     %i2,%o1
  12.         call    .mul,2
  13.         mov     %i5,%o0
  14.         call    ___builtin_new,1
  15.         nop
  16.         mov     %o0,%i0
  17. L77003:
  18.         mov     0,%i1
  19.         cmp     %i1,%i5
  20.         bge     L77007
  21.         mov     %i0,%i4
  22. LY1:                                    ! [internal]
  23.         mov     %i0,%o0
  24.         mov     %i3,%g1
  25.         call    %g1,1
  26.         inc     %i1
  27.         cmp     %i1,%i5
  28.         bl      LY1
  29.         add     %i0,%i2,%i0
  30. L77007:
  31.         ret
  32.         restore %g0,%i4,%o0
  33.         .proc   592
  34.         .global ___set_new_handler
  35. ___set_new_handler:
  36.         tst     %o0
  37.         sethi   %hi(___new_handler),%o3
  38.         bne     L77012
  39.         ld      [%o3+%lo(___new_handler)],%o5
  40.         sethi   %hi(_default_new_handler),%o1
  41.         add     %o1,%lo(_default_new_handler),%o0
  42. L77012:
  43.         sethi   %hi(___new_handler),%o2
  44.         st      %o0,[%o2+%lo(___new_handler)]
  45.         retl
  46.         add     %g0,%o5,%o0
  47.         .proc   592
  48.         .global _set_new_handler
  49. _set_new_handler:
  50. !#PROLOGUE# 0
  51. !#PROLOGUE# 1
  52.         save    %sp,-96,%sp
  53.         call    ___set_new_handler,1
  54.         mov     %i0,%o0
  55.         ret
  56.         restore %g0,%o0,%o0
  57.         .proc   16
  58. _default_new_handler:
  59. !#PROLOGUE# 0
  60. !#PROLOGUE# 1
  61.         save    %sp,-96,%sp
  62.         sethi   %hi(L41),%o1
  63.         or      %o1,%lo(L41),%o1        ! [internal]
  64.         mov     2,%o0
  65.         call    _write,3
  66.         mov     65,%o2
  67.         call    __exit,1
  68.         mov     -1,%o0
  69.         ret
  70.         restore
  71.         .seg    "data"                  ! [internal]
  72.         .align  4
  73.         .global ___new_handler
  74. ___new_handler:
  75.         .word   _default_new_handler
  76.         .seg    "data1"                 ! [internal]
  77. L41:
  78.         .ascii  "default_new_handler: out of memory... aaaiiiiiieeeeeeeee"
  79.         .ascii  "eeeee!\n\0"
  80.